<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>抽象</title>
</head>
<body>
    
</body>
</html>
<script>
    //将对象属性封装到构造函数的内部
    // function User(name,age){
    //     this.name = name;
    //     this.age = age;
    //     this.info = function(){
    //         return this.age > 50 ? '中年人' : '年轻人';
    //     };
    //     this.about = function(){
    //        return `${this.name}是${this.info()}`; 
    //     }
    // }
    // //使用这种方式 内部的属性值是随时可以进行修改的
    // let lisi = new User("李四",60);
    // // lisi.age = 100;
    // console.log(lisi.about());

    //抽象特征
    //需要让外部使用的使用   不需要被外部使用的是不能进行后期修改的  只能是在初始化的时候赋值
    //
    // function User(name,age){
    //     //使用一个新的对象保存传递过来的参数
    //     let data = {name:name,age:age};
    //     let info = function(){
    //         return data.age > 50 ? "中年人" : "年轻人";
    //     };
    //     //对外开放的接口
    //     this.message = function(){
    //         return `${data.name}是${info()}`;
    //     }
    // }

    // let lisi = new User("后盾人",22);
    // console.log(lisi.message());

</script>